home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scsh / dbm.c < prev    next >
C/C++ Source or Header  |  1995-10-13  |  6KB  |  185 lines

  1. /* This is an Scheme48/C interface file, 
  2. ** automatically generated by cig.
  3. */
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h> /* For malloc. */
  7. #include "libcig.h"
  8.  
  9. #include <sys/types.h>
  10. #include <limits.h>
  11. #include <ndbm.h>
  12. #include <db.h>
  13.  
  14. extern int errno;
  15.  
  16. #define errno_or_false(x) (((x) == -1) ? ENTER_FIXNUM(errno) : SCHFALSE)
  17.  
  18. scheme_value df_db_check(long nargs, scheme_value *args)
  19. {
  20.     extern int db_check(void);
  21.     scheme_value ret1;
  22.     int r1;
  23.  
  24.     cig_check_nargs(0, nargs, "db_check");
  25.     r1 = db_check();
  26.     ret1 = ENTER_BOOLEAN(r1);
  27.     return ret1;
  28.     }
  29.  
  30. scheme_value df_db_open_default(long nargs, scheme_value *args)
  31. {
  32.     extern int db_open_default(const char *, int , int , DB** *);
  33.     scheme_value ret1;
  34.     int r1;
  35.     DB** r2;
  36.  
  37.     cig_check_nargs(4, nargs, "db_open_default");
  38.     r1 = db_open_default(cig_string_body(args[3]), EXTRACT_FIXNUM(args[2]), EXTRACT_FIXNUM(args[1]), &r2);
  39.     ret1 = errno_or_false(r1);
  40.     AlienVal(VECTOR_REF(*args,0)) = (long) r2;
  41.     return ret1;
  42.     }
  43.  
  44. scheme_value df_db_open_btree(long nargs, scheme_value *args)
  45. {
  46.     extern int db_open_btree(const char *, int , int , int , int , int , int , int , int , int , DB** *);
  47.     scheme_value ret1;
  48.     int r1;
  49.     DB** r2;
  50.  
  51.     cig_check_nargs(11, nargs, "db_open_btree");
  52.     r1 = db_open_btree(cig_string_body(args[10]), EXTRACT_FIXNUM(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), EXTRACT_FIXNUM(args[4]), EXTRACT_FIXNUM(args[3]), EXTRACT_FIXNUM(args[2]), EXTRACT_FIXNUM(args[1]), &r2);
  53.     ret1 = errno_or_false(r1);
  54.     AlienVal(VECTOR_REF(*args,0)) = (long) r2;
  55.     return ret1;
  56.     }
  57.  
  58. scheme_value df_db_open_hash(long nargs, scheme_value *args)
  59. {
  60.     extern int db_open_hash(const char *, int , int , int , int , int , int , int , int , DB** *);
  61.     scheme_value ret1;
  62.     int r1;
  63.     DB** r2;
  64.  
  65.     cig_check_nargs(10, nargs, "db_open_hash");
  66.     r1 = db_open_hash(cig_string_body(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), EXTRACT_FIXNUM(args[4]), EXTRACT_FIXNUM(args[3]), EXTRACT_FIXNUM(args[2]), EXTRACT_FIXNUM(args[1]), &r2);
  67.     ret1 = errno_or_false(r1);
  68.     AlienVal(VECTOR_REF(*args,0)) = (long) r2;
  69.     return ret1;
  70.     }
  71.  
  72. scheme_value df_db_open_recno(long nargs, scheme_value *args)
  73. {
  74.     extern int db_open_recno(const char *, int , int , int , int , int , int , int , int , char , const char *, DB** *);
  75.     scheme_value ret1;
  76.     int r1;
  77.     DB** r2;
  78.  
  79.     cig_check_nargs(12, nargs, "db_open_recno");
  80.     r1 = db_open_recno(cig_string_body(args[11]), EXTRACT_FIXNUM(args[10]), EXTRACT_FIXNUM(args[9]), EXTRACT_FIXNUM(args[8]), EXTRACT_FIXNUM(args[7]), EXTRACT_FIXNUM(args[6]), EXTRACT_FIXNUM(args[5]), EXTRACT_FIXNUM(args[4]), EXTRACT_FIXNUM(args[3]), EXTRACT_CHAR(args[2]), cig_string_body(args[1]), &r2);
  81.     ret1 = errno_or_false(r1);
  82.     AlienVal(VECTOR_REF(*args,0)) = (long) r2;
  83.     return ret1;
  84.     }
  85.  
  86. scheme_value df_dbm_close(long nargs, scheme_value *args)
  87. {
  88.     extern int dbm_close(DBM* );
  89.     scheme_value ret1;
  90.     int r1;
  91.  
  92.     cig_check_nargs(1, nargs, "dbm_close");
  93.     r1 = dbm_close((DBM* )AlienVal(args[0]));
  94.     ret1 = ENTER_FIXNUM(r1);
  95.     return ret1;
  96.     }
  97.  
  98. scheme_value df_dbm_error(long nargs, scheme_value *args)
  99. {
  100.     extern int dbm_error(DBM* );
  101.     scheme_value ret1;
  102.     int r1;
  103.  
  104.     cig_check_nargs(1, nargs, "dbm_error");
  105.     r1 = dbm_error((DBM* )AlienVal(args[0]));
  106.     ret1 = ENTER_FIXNUM(r1);
  107.     return ret1;
  108.     }
  109.  
  110. scheme_value df_dbm_clearerr(long nargs, scheme_value *args)
  111. {
  112.     extern int dbm_clearerr(DBM* );
  113.     scheme_value ret1;
  114.     int r1;
  115.  
  116.     cig_check_nargs(1, nargs, "dbm_clearerr");
  117.     r1 = dbm_clearerr((DBM* )AlienVal(args[0]));
  118.     ret1 = ENTER_FIXNUM(r1);
  119.     return ret1;
  120.     }
  121.  
  122. scheme_value df_database_delete(long nargs, scheme_value *args)
  123. {
  124.     extern int database_delete(DBM* , scheme_value );
  125.     scheme_value ret1;
  126.     int r1;
  127.  
  128.     cig_check_nargs(2, nargs, "database_delete");
  129.     r1 = database_delete((DBM* )AlienVal(args[1]), args[0]);
  130.     ret1 = ENTER_FIXNUM(r1);
  131.     return ret1;
  132.     }
  133.  
  134. scheme_value df_database_fetch(long nargs, scheme_value *args)
  135. {
  136.     extern const char *database_fetch(DBM* , scheme_value );
  137.     scheme_value ret1;
  138.     const char *r1;
  139.  
  140.     cig_check_nargs(3, nargs, "database_fetch");
  141.     r1 = database_fetch((DBM* )AlienVal(args[2]), args[1]);
  142.     ret1 = VECTOR_REF(*args,0);
  143.     {AlienVal(CAR(ret1)) = (long) r1; CDR(ret1) = strlen_or_false(r1);}
  144.     return ret1;
  145.     }
  146.  
  147. scheme_value df_database_store(long nargs, scheme_value *args)
  148. {
  149.     extern int database_store(DBM* , scheme_value , scheme_value , int );
  150.     scheme_value ret1;
  151.     int r1;
  152.  
  153.     cig_check_nargs(4, nargs, "database_store");
  154.     r1 = database_store((DBM* )AlienVal(args[3]), args[2], args[1], EXTRACT_FIXNUM(args[0]));
  155.     ret1 = ENTER_FIXNUM(r1);
  156.     return ret1;
  157.     }
  158.  
  159. scheme_value df_database_first(long nargs, scheme_value *args)
  160. {
  161.     extern const char *database_first(DBM* );
  162.     scheme_value ret1;
  163.     const char *r1;
  164.  
  165.     cig_check_nargs(2, nargs, "database_first");
  166.     r1 = database_first((DBM* )AlienVal(args[1]));
  167.     ret1 = VECTOR_REF(*args,0);
  168.     {AlienVal(CAR(ret1)) = (long) r1; CDR(ret1) = strlen_or_false(r1);}
  169.     return ret1;
  170.     }
  171.  
  172. scheme_value df_database_next(long nargs, scheme_value *args)
  173. {
  174.     extern const char *database_next(DBM* );
  175.     scheme_value ret1;
  176.     const char *r1;
  177.  
  178.     cig_check_nargs(2, nargs, "database_next");
  179.     r1 = database_next((DBM* )AlienVal(args[1]));
  180.     ret1 = VECTOR_REF(*args,0);
  181.     {AlienVal(CAR(ret1)) = (long) r1; CDR(ret1) = strlen_or_false(r1);}
  182.     return ret1;
  183.     }
  184.  
  185.